//

#ifndef Circle2D_h__
#define Circle2D_h__

#include "Point2D.h"
#include "Vector2D.h"


namespace Geometric
{
	class _GEOMETRIC Circle
	{
	public:
		Circle(const Point2D& _point, double _r)
			:m_origin(_point), m_r(_r)
		{
		}

		Circle(const Circle& _cle)
			:m_origin(_cle.m_origin), m_r(_cle.m_r)
		{
		}

		Circle() :m_origin(0, 0), m_r(1)// default: radius is 1, origin is (0,0)
		{
		}

	public:
		inline Point2D& getOrigin()
		{
			return m_origin;
		}

		inline double getRadius()
		{
			return m_r;
		}

	public:
		Point2D m_origin;
		double m_r;
	};

}
#endif